一、背景:一个SDK解决什么问题在Claude的技术体系中,存在明确的分层:层级定位适用场景ClaudeAPI底层消息接口,一次请求一次响应分类、摘要、提取、固定流程Q&AClaudeAPI+ToolUse AgentSDK引入了循环机制:展开代码语言:TXTAI代码解释用户提示→模型思考→模型请求工具→SDK执行工具→结果返回模型→循环直到任务完成这个循环中,SDK负责:检测模型何时请求工具执行工具并收集结果将结果注入下一轮上下文管理权限 、hooks、session生命周期2.2工具体系的分层设计AgentSDK的工具分为两类:客户端工具(Client-sideTools)模型定义工具的name/schema,SDK在客户端执行内置提供 3.2权限系统——安全地给Agent放权Agent的危险在于"能力越大,破坏越大"。 通过"Agent"工具触发子Agent,两者共享allowed_tools白名单。
1.2 什么是 Claude Agent SDK?为什么它如此强大? 简单来说,Claude Agent SDK 是著名AI助手 Claude Code 背后的核心引擎。 1.4 技术栈 我们将使用以下现代且强大的技术栈来完成本次构建: • 运行时 (Runtime): Claude Code CLI - 这是Agent SDK的官方运行环境。 • SDK: @anthropic-ai/claude-agent-sdk - 我们的核心工具库。 • 语言 (Language): TypeScript - 提供强大的类型安全,让代码更健壮。 第一步:安装 Claude Code CLI 2. Claude Code CLI 是Agent SDK的运行环境。打开你的终端,输入以下命令进行全局安装: 3. • @anthropic-ai/claude-agent-sdk 是我们的主角——核心SDK。
2.2候选B:ClaudeAgentSDK——厂商一等公民定位:Anthropic官方agent运行时,与Claude、ClaudeCode、Skills、MCP同源。 它的世界观:Agent是Claude+工具集+Skill集+MCPservers的协同。框架的工作是把这套协同变得"无摩擦"。 2.3候选C:自研——完全可控的运行时定位:基于模型SDK(AnthropicSDK/OpenAISDK)+自己的状态管理、tool路由、流式处理。核心抽象:你的抽象。 某天Claude推出了一个杀手级特性,需要切到ClaudeAgentSDK才能用。没有Adapter:业务代码深度依赖LangGraph,迁移需要3人×2个月。 AP6:把multi-agent当默认隐喻错误:默认招"AI同事"——产品agent、工程agent、QAagent。正确:先用singleagent+skills;多agent仅在职责正交时引入。
,options=ClaudeAgentOptions(model="claude-opus-4-6",allowed_tools=["WebSearch"]),):messages.append(msg ClaudeAgentOptions(model="claude-opus-4-6",allowed_tools=["WebSearch","Read"],))asresearch_agent:#第一次查询 ))asresearch_agent:awaitresearch_agent.query("分析research_agent/projects_claude.png")...图像在消息中会base64编码 =10*1024*1024,))asresearch_agent:#分析图表awaitresearch_agent.query("分析research_agent/projects_claude.png 代码来自AnthropicClaudeCookbooks(https://github.com/anthropics/claude-cookbooks)的claude_agent_sdk/00_The_one_liner_research_agent.ipynb
我寻思这也不难,打开大龙虾让他自己处理去了,结果聊着聊着我发现一个问题:他用的技能很多都有风险提示,吓得我赶紧看了下token用量,后来查了一下发现claude发布了一个叫做claudeagentsdk 没有SDK时的痛苦如果你想自己开发一个AI应用,没有AgentSDK的话,你得这么干:展开代码语言:PythonAI代码解释#1.发送请求给大模型response=call_claude_api(prompt 有了AgentSDK之后展开代码语言:PythonAI代码解释fromclaude_agent_sdkimportquery,ClaudeAgentOptions#SDK自动处理所有工具调用循环asyncformessageinquery SDK把那些繁琐的循环都帮你处理了。AgentSDK到底做了啥? :BashAI代码解释#安装pipinstallclaude-agent-sdk#设置APIKeyexportANTHROPIC_API_KEY=your-api-key展开代码语言:PythonAI代码解释
设 user 存到 ~/.claude/agent-memory/,设 project 存到 .claude/agent-memory/,跑完一次它会自己往里面写东西,下次还能看到。 它目前还是实验功能,需要先开启:{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" }}加到你的 settings.json 开启后,告诉 Claude 你要一个 Agent Team,描述清楚任务和团队结构,它会自动建队、派成员、分配任务:I'm designing a CLI tool that helps developers 注意事项Agent Teams 的 token 消耗比 Subagents 高很多,每个 teammate 是独立的 Claude 实例。 Subagents 从 /agents 命令创建一个,写好 description 和 tools 就能跑;Agent Teams 加一行环境变量,告诉 Claude 你要一个 team 就行。
「我想用 Claude Code 自动化我的工作。」 「我想让 AI 帮我处理重复任务。」 「我想构建一个自己的 Agent。」 这些都是美好的愿望。 今天,用三个步骤,介绍从 0 构建一个 Claude Code Agent 工作流的方法。 一、设计阶段:定义你的「AI 军团」 一个好的 Agent 工作流,始于角色定义。 这个方案很有趣:用 Git 做同步 Agent 通过写文件来「锁定」任务 完成后 push 到共享仓库 其他 Agent pull 最新更改 Git 自动解决冲突(Claude 很聪明,能自己处理) 这就是去中心化协作的魅力 3.1 Agent Loop:永不停歇的循环 一个关键模式: while true; do claude --dangerously-skip-permissions -p "$(cat AGENT_PROMPT.md 参考文献 [1] Medium: How to Set Up and Use Claude Code Agent Teams. [2] Claude Code Overview. [3] Anthropic
后台运行:进程独立的存在主义最颠覆认知的一点:所有Agent会话后台独立存活。 海德格尔谈“向死而生”,放在这里恰好贴切:每一条Agent会话拥有独立生命周期,它的运行不依赖人类持续注视。程序员的身份,从执行者,慢慢过渡为调度者、观测者。 Claude采用GitWorktree做天然沙盒隔离:展开代码语言:TXTAI代码解释my-project/├──.git/├──.claude/worktrees/│├──session-abc123 /#会话A独立工作区│└──session-def456/#会话B独立工作区└──src/#本地主目录(保持纯净只读)每一个Agent拥有独立工作副本,互不污染、互不冲突。 我见过两类截然不同的使用者:有人凡事无脑新建会话,最后管理任务的成本远超编码本身;有人只把机械、重复、探索性工作交给Agent,自己死守架构与决策。
全新 Agents SDK:支持编排单代理和多代理工作流,灵活应对各类复杂场景。 集成可观测性工具:可追踪和检查 agent 工作流执行,让开发过程更加透明。 全新的开源 Agents SDK 简化了多智能体工作流程的编排,相比 Swarm(实验性 SDK)实现了重大改进——该 SDK 已被开发者社区广泛采用,并被多个客户成功部署。 ]", tools=[WebSearchTool()], ) triage_agent = Agent( name="Triage Agent", instructions=" ", handoffs=[shopping_agent, support_agent], ) output = Runner.run_sync( starting_agent=triage_agent Agents SDK 可与 Responses API 和 Chat Completions API 配合使用。
Claude Code 的 Agent Teams 解决的就是这个问题。 源码中有这样一段注释: // We intentionally don't set CLAUDE_CODE_AGENT_ID for the team lead because: // 1. Setting it would cause isTeammate() to return true, breaking inbox polling leader 不会被设置 CLAUDE_CODE_AGENT_ID mailbox 的实现机制:每个 teammate 有一个独立的 inbox 文件,存储在 .claude/teams/{team_name}/inboxes/{agent_name}.json。 把整条链路串起来 Agent Teams 的核心流程可以压缩成下面这张图: 这条链路的核心不是”把模型复制几份”,而是给每个 agent 补齐团队成员所需的运行上下文: 如果只说“Claude Code
今天我们已经在 Agent SDK 中支持 MCP,对 ChatGPT 桌面应用以及 Responses API 的支持也即将到来!」 OpenAI 彷佛有一种打不过就加入的魄力,不难看出,以后开发 Agent 的成本将大大降低。 我已经迫不及待地想看看人们会用 Claude 连接什么,很快也会看到 ChatGPT 的连接成果。」 OpenAI 还表示,他们打算在未来几个月内分享更多有关 MCP 计划的信息。 官方 Agent SDK 文档也一并公布,感兴趣的读者可以查看原文了解更多内容。 OpenAI Agent SDK 文档地址:https://openai.github.io/openai-agents-python/mcp/ 以后,研究者可以利用众多的 MCP 服务器为智能体(Agents
Agent2Agent Java SDK 红帽 宣布,Quarkus 和 WildFly 团队已经与谷歌合作推出了 Agent2Agent Java SDK,这是一个 Java 库,实现了 Agent2Agent 该 SDK 提供了“ 创建代理卡、处理代理执行和管理代理间通信所需的所有组件 ”,并且提供了一个客户端,使开发者可以使用 A2A 协议与 A2A 代理进行交互。
Claude Code 以代码能力见长,坐稳了"SWE-bench榜首"的位置;OpenClaw 以247K GitHub星标稳坐开源Agent生态的头把交椅;而一个新面孔——Hermes Agent— Claude Code:IDE 里的编码副驾驶 Claude Code的核心场景是软件开发。你坐在电脑前,打开终端或IDE,让它帮你写代码、改代码、跑测试。 一句话总结:Claude Code是一个坐在你IDE里的顶级编码助手。 OpenClaw:多渠道运营的通用 Agent 网关 OpenClaw的核心定位是多渠道AI网关。 三、技术规格对比表 维度 Claude Code OpenClaw Hermes Agent GitHub Stars ~140K 247K 27K 定位 IDE编码助手 多渠道Agent平台 自我进化的个人 Claude Code是你IDE里的顶级编码助手,OpenClaw是你多渠道运营的中枢,而Hermes Agent是你服务器上7×24小时待命的私人助理。它们解决的是不同问题,完全可以共存。
二、Agent SDK——用代码获得 Claude Code 的全部能力 Headless 模式适合简单的"一问一答"场景。 重要说明:名称变更 Claude Code SDK 已正式更名为 Claude Agent SDK。 包名从 @anthropic-ai/claude-code 改为 @anthropic-ai/claude-agent-sdk。如果你看到网上的旧教程用的还是老包名,知道是同一个东西就行。 安装 # TypeScript / JavaScript npm install @anthropic-ai/claude-agent-sdk # Python pip install claude-agent-sdk 第二,Agent SDK(@anthropic-ai/claude-agent-sdk)提供了完整的编程接口。核心函数 query() 返回异步迭代器,你可以逐条消息处理 Claude 的输出。
同时也可以看目前最流行的agent zed自家的agent排在了第一,不知道是不是自吹自擂了。 第一个暴击:Claude Sonnet 的 p90 延迟,三周涨了44% 数据不会骗人。 Zed Agent 会话最多,但 Claude Agent 用户更"上头" 90 天内,200 万次会话,平台平均每次会话 7.6 轮。 Agent 会话数 每会话轮次 Zed Agent 939K 5.5 Claude Agent 703K 10.6 发现没?会话数代表"打开频率",轮次深度才代表"粘性"。 Claude Agent 用户一旦开始用,平均聊将近 11 轮才停;而 Zed 原生 Agent 用户,5.5 轮就撤了。 我的猜测:可能因为 Claude 更擅长多轮推理,用户愿意"多聊几句";而 Zed Agent 更偏向"快问快答",任务完成就撤。
心总依赖外界的回应 就像风中乱舞的叶子 Claude Code2.1.3:当 AI 编程助手开始“自我整理”,开发者终于能睡个好觉了 最近,Claude Code 发布了 2.1.3 版本,表面看是“小修小补 # .claude/permissions.yml rules: -allow: bash when: command.startsWith('git') -deny: bash when: Sub-Agent 模型修复:省下93%的 Token 费! 这是本次更新最“省钱”的彩蛋! 以前,Claude Code 的子代理(Sub-Agent)在做两件事时,错误地用了主模型(Sonnet): 压缩对话历史 执行网页搜索 结果?成本爆炸! 其他贴心修复 现在彻底清空,新任务不再看到“幽灵计划” Claude Code 2.1.3 没有炫酷的新功能,但它做了一件更重要的事:清理技术债,简化心智模型,提升可靠性。
当语言停歇时 灵魂的触碰才刚刚开始 Claude Code 近几个月火速更新,前几天发布了最新版v2.1.71,带来了一个看似不起眼但杀伤力极大的新功能:/loop。 review-pr 520 翻译成人话: "每隔 5 分钟帮我瞅一眼部署挂了没" "每 15 分钟扫一遍错误日志,能修的 bug 直接提 PR" "每 20 分钟自动执行 /review-pr 520" Claude 不存在的 比传统 cron 多一层"防手残"保险 ️ 但它也有"做不到"的事 实际应用场景(抄作业区) /loop的发布,进一步打开了claude code的并行化执行的能力。
图 1:Claude Code 源码泄露事件全景概览 2026 年 3 月 31 日,GitHub 上出现了一个仓库 hangsman/claude-code-source。 这是所有长任务 Agent 的共同痛点。 Claude Code 的解法是 Coordinator + Fork Subagent。 隔离探索:子 Agent 在独立上下文窗口运行。探索方案 A 产生的所有中间输出、工具调用、错误信息,都限制在子 Agent 上下文里,不会污染主对话。 Agent Swarm 与任务类型 系统支持 6 种任务类型:local_bash、local_agent、remote_agent、in_process_teammate、local_workflow 图 5:Claude Code 泄露源码中的 5 个核心 Agent 设计模式总结 总结 51 万行代码,1906 个文件,从 Source Map 泄露到全世界。
ClaudeCode架构拆解:一个本地agent运行时很多人把ClaudeCode当成一个终端里的codingagent,但从这批源码材料看,它更接近一套分层完整的本地agent运行时。 Anthropic发布在npm上的@anthropic-ai/claude-code包里,附带了一份接近60MB的cli.js.map。 QueryEngine更像是给SDK/headless场景和后续抽象准备的那层。 泄露整理里有一句话把后台agent的约束说得很清楚:不能向用户弹框确认的后台agent,遇到需要审批的能力就直接拒绝。拿不到确认,就不做。这和整套权限系统的取向是一致的。 探索而多agent这层,在泄露整理里说得很直白:sub-agent本质上就是同一个turnengine,换一组参数再跑一遍:换模型换工具集合换权限上下文必要时换gitworktree这说明“多agent
= task.execute() 适用场景:纯OpenAI生态、追求最佳GPT体验、快速原型开发2.8 Claude Agent SDK :Stripe(支付流程优化)、Airbnb(客服机器人)Claude Agent SDK:LexisNexis(法律研究)、Elsevier(学术出版)5.3 学习资源丰富度 资源类型 :供应商锁定解决方案:抽象接口层,便于切换提供商Claude Agent SDK:MCP服务不可用解决方案:实现服务降级和备用工具七、选型决策树:根据场景选择框架7.1 快速选型指南 团队特征推荐框架 长文档分析需求Claude Agent SDK7.2 混合架构最佳实践对于复杂场景,可结合多个框架优势: 2.0:多模态Agent、实时数据流Claude Agent SDK 2.0:MCP 2.0支持、企业安全增强8.2 行业融合趋势标准化:MCP协议成为工具集成通用标准可视化:低代码Agent编排平台普及专业化